Single photon avalanche diodes (SPAD) may be used as a detector of reflected light. In general, an array of pixels including SPAD sensing elements is provided as a sensor in order to detect a reflected light pulse. A photon may generate a carrier in the SPAD through the photo electric effect. The photo generated carrier may trigger an avalanche current in one or more of the SPADs in an SPAD array. The avalanche current may signal an event, namely that a photon of light has been detected.
The use of SPAD arrays for ranging is well known. For example SPAD arrays and SPAD sensors have been used to determine time-of-flight distances for ranging applications in mobile devices.
Current SPAD arrays and SPAD sensors although able to determine a single avalanche event are not able to efficiently produce outputs for determining levels of illumination in short time windows. The requirement to increase fill factor is at odds with the requirement to digitally counts events in parallel from all pixels. The digital nature of the SPAD output makes the accumulation of multiple events within a short timeframe highly processing intensive. This places a limit on the maximum light level which can be detected with reasonable levels of digital logic and processing. In turn, this makes adoption of the technology within applications where determining a level of illumination is useful, such as in amplitude modulation communications, relatively complex.